function findMidSubString(subStr,str){ // 传入两个参数 substr是敏感词 str是后来发布的词
  let subStrArrs = {} // 记录敏感词字符频数
  let strArrs = {} // 后面发布的词的字符频数
  let subLength = -1
  let minStr = ''
  for(let i of subStr){
    subStrArrs[i] = (subStrArrs[i] || 0) + 1 // 统计字符频数 不存在就是0+1 存在就是原来的值+1
    strArrs[i] = 0 // 初始化后来发布的字符频数  让他的初始值是0
  }
  for(let j = 0;j < str.length;j++){ // 遍历传入的字符
    for(let i of subStr){ // 遍历敏感词
      strArrs[i] = 0 // 初始化str的字符频数数组 让这个的key和substr的key对应  每个都初始化为0
    }
    for(let k = j;k < str.length;k++){ // 让k等于这个遍历的开始的位置
      if(strArrs[str[k]] !== null){ // 如果str统计的字符频数中有这个字符
        strArrs[str[k]] = strArrs[str[k]] + 1 // 让这个的个数+1
      }
      let match = true // 用来判断这个字符的个数是不是小于敏感词的个数 如果小于 match就是false 表示不匹配 如果大于或者等于说明匹配了
      for(let i of subStr){ // 遍历敏感词
        match = match && (subStrArrs[i] <= strArrs[i]) // 
      }
      let distance = k - j + 1 // 记录当前的k的位置和其实的位置的距离
      if(match && (subLength === -1 || subLength > distance) && distance < subStr.length+5){ // 如果匹配了
        subLength = distance
        minStr = str.subStr(j,subLength)
      }
    }
  }
  return minStr
}